Call programming apparatus and method

ABSTRACT

A method of routing incoming telephone calls and programming routing options and apparatus that allows incoming calls to be routed according to various criteria programmed by a subscriber.

FIELD OF THE INVENTION

[0001] The present invention relates to a call programming apparatus andmethod, and more particularly, to a call programming apparatus andmethod that allows subscribers to program a schedule of how theirincoming calls should be routed based upon each subscriber's programmedprofile.

BACKGROUND OF THE INVENTION

[0002] People are more on the go now than ever before. Because of thistelecommunication, needs have become more complicated than merelyrouting one incoming call to one number. For example, U.S. Pat. No.5,588,037 (Fuller et al.) discloses a method of call handling thatincludes remote programmable call forwarding which allows a user to setup a weekly schedule feature that allows calls to be routed depending onthe day of the week and the time the call was made. Also disclosed is anoverride feature where the user can override the weekly schedule shouldhis or her schedule deviate from the programmed sequence.

[0003] U.S. Pat. No. 5,487,111 (Slusky) discloses a sequential callrouting telecommunication system that allows a caller who is trying toreach a called subscriber to be routed to each of a sequence oftelephone numbers specified by the subscriber. The subscriber canindicate call forwarding numbers and can designate the date and/or timeduring which call forwarding to any particular one of the callforwarding telephone numbers is to be effective.

[0004] While these known systems provide increased flexibility, withtoday's on-the-go society, even more flexibility is desirable.

[0005] It is thus desirable to provide a call routing apparatus andmethod that affords the subscriber great flexibility in determining howincoming calls should be routed. It is also desirable to provide aflexible call routing scheme that is easy to implement and modify.

SUMMARY OF THE INVENTION

[0006] According to a first aspect of the invention there is provided amethod routing incoming telephone calls The method includes the stepsof:

[0007] (a) coupling an incoming call directed to a subscriber to aplatform;

[0008] (b) determining if a sequential search feature is active;

[0009] (c) in response to step (b), if the sequential search feature isactive, directing the incoming call to a first number on thesubscriber's sequential list stored on the platform and, if there is noanswer at the first number directing the incoming call to a secondnumber of the subscriber's sequential list;

[0010] (d) in response to step (b), if it is determined that thesequential search feature is not active, determining if a simultaneoussearch feature is active;

[0011] (e) in response to step (d), if it is determined that thesimultaneous search feature is active, directing the incoming call toall numbers on the subscriber's simultaneous list stored on theplatform;

[0012] (f) determining if a programmed schedule feature is active; and

[0013] (g) in response to step (f), if the programmed schedule featureis active, directing an incoming call according to the programmedschedule.

[0014] According to a second aspect of the invention there is provided amethod for routing incoming telephone calls. The method includes thesteps of:

[0015] (a) coupling a call directed to a first telephone station to aservice node, said call being initiated by a caller at a secondtelephone station;

[0016] (b) retrieving a subscriber's profile associated with the firsttelephone station at the service node in response to step (a) whereinthe subscriber's profile indicates which routing options have beenselected by the subscriber;

[0017] (c) routing the call of step (a) in accordance with thesubscriber's profile by:

[0018] (i) determining if a sequential search feature is active;

[0019] (ii) in response to step (i), if the sequential search feature isactive, directing the incoming call to a first number on thesubscriber's sequential list, and if there is no answer at the firstnumber, directing the incoming call to a second number on thesubscriber's sequential list;

[0020] (iii) in response to step (i), if it is determined that thesequential search feature is not active, determining if a simultaneoussearch feature is active;

[0021] (iv) in response to step (iii), if it is determined that thesimultaneous search feature is active, directing the incoming call toall numbers on the subscriber's simultaneous list;

[0022] (v) determining if a programmed schedule feature is active; and

[0023] (vi) in response to step (v), if the programmed schedule featureis active, directing an incoming call according to the programmedschedule.

[0024] According to a third aspect of the invention there is provided amethod of programming call routing options. The method includes thesteps of

[0025] (a) coupling an incoming call from a subscriber to a servicenode;

[0026] (b) generating a series of queries to the subscriber in responseto the incoming call of step (a) wherein the series of queries includes:

[0027] (i) whether a sequential search list should be created and, ifso, what telephone numbers should be included on the sequential searchlist;

[0028] (ii) whether a simultaneous search list should be created and, ifso, what telephone numbers should be included on the simultaneous searchlist;

[0029] (iii) whether a programmed schedule list should be created and,if so, what telephone numbers should incoming calls be directed basedupon the day of the week and time the incoming call is received; and

[0030] (c) generating a subscriber profile in response to thesubscriber's responses to the series of queries generated in step (b).

[0031] According to a fourth aspect of the invention there is provided acall routing apparatus for routing incoming telephone calls. Theapparatus includes:

[0032] a memory for storing a profile for each subscriber wherein eachprofile indicates the routing options selected by the subscriberassociated with the profile;

[0033] a platform for receiving an incoming telephone call from acalling party;

[0034] a processor located on the platform programmed to route incomingtelephone calls according to the following steps:

[0035] (a) determining if a sequential search feature is active;

[0036] (b) in response to step (a), if the sequential search feature isactive, directing an incoming call to a first number on the subscriber'ssequential list and, if there is no answer at the first number,directing the incoming call to a second number on the subscriber'ssequential list;

[0037] (c) in response to step (a), if it is determined that thesequential search feature is not active, determining if a simultaneoussearch feature is active;

[0038] (d) in response to step (c), if it is determined that thesimultaneous search feature is active, directing the incoming call toall numbers on the subscriber's simultaneous list;

[0039] (e) determining if the subscriber has selected a programmedschedule feature; and

[0040] (f) in response to step (e), if the programmed schedule featureis active, directing an incoming call according to the programmedschedule.

[0041] According to a fifth aspect of the invention there is provided anapparatus for programming call routing options. The apparatus includes:

[0042] a platform for receiving an incoming call from a subscriber

[0043] a processor located on the platform programmed to generate thefollowing queries:

[0044] (i) whether a sequential search list should be created and, ifso, what telephone numbers should be included on the sequential searchlist;

[0045] (ii) whether a simultaneous search list should be created, and ifso, what telephone numbers should be included on the simultaneous searchlist;

[0046] (iii) whether a programmed schedule list should be created and,if so, what telephone numbers should incoming calls be directed basedupon the day of the week and time the incoming call is received; and

[0047] generating a subscriber profile in response to the subscriber'sresponses to the series of queries generated in steps (i-iii);

[0048] a database storing a subscriber profile

BRIEF DESCRIPTION OF THE DRAWINGS

[0049]FIG. 1 is a schematic of a call flow pattern illustrating asubscriber's interaction with the platform according to a preferredembodiment of the present invention.

[0050]FIG. 2 illustrates the call flow pattern when a subscriber hasselected the simultaneous call routing option.

[0051]FIG. 3 illustrates the call flow pattern when a subscriber hasselected the sequential call routing option.

[0052]FIG. 4 is a block diagram of the call scheduling and routingplatform shown in FIGS. 1-3.

[0053]FIGS. 5 and 6 are flowcharts of selecting a schedule and choosingwhat to do with it.

[0054]FIGS. 7 and 8 are flowcharts of the listen to schedule subroutineprogram.

[0055] FIGS. 9-18 are flowcharts of the creating and/or modifying asubscriber's programmed schedule.

[0056] FIGS. 19-33 illustrate the sequential programming portion of theredo schedule subroutine program.

[0057] FIGS. 34-48 illustrate the simultaneous programming portion ofthe redo schedule subroutine program.

[0058] FIGS. 49-53 illustrate the schedule override subroutine program.

[0059] FIGS. 54-57 are flowcharts illustrating the simultaneous searchsubroutine program.

[0060] FIGS. 58-61 are flowcharts illustrating the sequential searchsubroutine program.

[0061] FIGS. 61-62 are flowcharts illustrating an incoming call routingflow program.

[0062] FIGS. 63-65 are flowcharts of the service routing subroutineprogram.

[0063]FIG. 66 is a flowchart of the default subroutine program.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

[0064]FIG. 1 is a schematic of a call flow pattern illustrating asubscriber's interaction with a platform according to a preferredembodiment of the present invention. In a preferred embodiment thesystem includes a first end office switch 12, a public switchedtelephone network 14, a second end office switch 16 and a platform 18.In a preferred embodiment the subscriber is given a personal accessservice (“PAS”) telephone number. The subscriber dials his or her PASnumber and the call is routed to the platform 18 through the first andsecond end office switches 12, 16 and the network 14. The subscriber ispresented with a greeting which advises the subscriber of the steps heor she can take to create a new subscriber profile or modify an existingsubscriber profile as will be described in detail with reference to theflow charts shown in FIGS. 5-53. A subscriber's profile is a recordstored preferably in a database that indicates how a subscriber wantshis or her incoming calls to be directed. While the term subscriber isused throughout this application it is interchangeable with the termuser and the present invention is not intended to be limited to anyparticular type of user. While the input media is shown as a touch tonetelephone, other input media may be used such as the web or telephonesusing touch tones, speech, graphical user interfaces or otherinterfaces.

[0065] Basically the subscriber has the following options to processincoming calls. The subscriber may choose to establish a programmedschedule where incoming calls are forwarded based upon the programmedschedule, for example, the time of day and/or day of week the incomingcall is received. The subscriber can modify the programmed schedule atany time. The subscriber may choose a sequential ring option whereincoming calls are forwarded sequentially to a series of telephonenumbers starting with the telephone number given the highest priorityuntil either the call is answered or the call is sent to a defaultdestination such as voice mail, for example. The subscriber may choose asimultaneous ring option where all of the phone numbers selected by thesubscriber will ring at the same time until one of the phone numbers isanswered. Finally, the subscriber has the option of overriding theschedule with one number programming where all incoming calls areforwarded to one number provided by the subscriber. This option bypassesthe programmed schedule, the location sequencing programming and thesimultaneous ring programming. All of these options will be described indetail in the flowcharts which will be described in detail hereafter.

[0066]FIG. 2 illustrates the call flow pattern when a subscriber hasselected the simultaneous call routing option. A calling party 20 dialsa subscriber's PAS telephone number. The call is routed to the platform18 where the subscriber's profile is retrieved from memory and it isdetermined that simultaneous routing has been selected and both thesubscriber's business and car telephones 21 and 23 respectively shouldbe rung simultaneously. The platform 18 initiates calls simultaneouslyto the subscriber's business and car telephones. If the phones at bothlocations are answered and the subscriber has activated a PIN acceptancefeature so that someone who answers a call for the subscriber will notbe able to intercept the call, the platform will prompt for a PIN entry.Assuming the subscriber answers the phone in her car, she will enter herPIN and the call is completed to the subscriber's car. The platformplays a polite announcement to the person who answered the businessphone who did not have the PIN and then disconnects the call.

[0067]FIG. 3 illustrates the call flow pattern when a subscriber hasselected the sequential call routing option. A calling party 20 dialsthe subscriber's PAS number and the call is routed through the network14 to the platform 18. At the platform the subscriber's profile isretrieved and it is determined that the incoming call should besequentially routed to the following numbers in the following order:business 21, car 23, or default. The platform 18 initiates a call to thesubscriber's business, however, if it is either busy or no one answers,the platform 18 next initiates a call to the subscriber's car and thesubscriber answers. If the subscriber did not answer the phone in hercar, the incoming call would have been sent to a default location.

[0068] The call scheduling or routing platform 18, which will bedescribed in detail with reference to FIG. 4, implements the features ofcall scheduling and routing according to the present invention. The callscheduling and routing platform 18 has a database that contains aprofile for each subscriber indicating what options the subscriber hasselected as well as any modifications to that profile.

[0069]FIG. 4 is a block diagram of the call scheduling and routingplatform 18 shown in FIGS. 1-3. The platform 18 is preferablyimplemented in a standalone service node which can be integrated into anexisting network infrastructure. The service supports the platformapplications and provides service functionality to a plurality ofsubscribers. The platform includes several hardware and softwarecomponents that are integrated into the platform to provide theprocessing, switching, peripheral control, database of subscribers'profiles and interactive voice response capabilities for implementingthe present invention. Specifically, these components include computers30, a voice switch 32, and multiple resource modules 34 for interactivevoice response, voice mail, and voice recognition, all connected withinthe platform 18 preferably by a dual Ethernet bus 19 through a pair ofhubs 36. Preferably voice switch 32 is a Summa Four voice switchavailable from Suma Four, Inc. of Manchester, N.H. Of course otherswitches may be used and the present invention is not limited to theillustrated embodiment.

[0070] In a preferred embodiment the platform 18 has two types ofconnections to the public switched telephone network 14 to terminateincoming calls to subscriber telephone numbers stored on the platform,and originate outgoing calls to the subscribers location or voice mailbox. These are standard telephone connections which have the ability topass out of band information as determined by the FCC such as PRI, BRI,for example. Subscribers A may have their calls directed to the platform18 over PRI lines that connect the platform 18 to end office switches.The PRIs connect through a smart jack (not shown), for example, to DS1interface ports (not shown) of the Summa Four switch 32 in the platform18. Subscribers B, for example, cellular/paging users, may have theircalls directed to the platform 18 over either over PRI lines thatconnect the platform 18 to end office switches or they may have theircalls carried by DS1 special access facilities with FGD protocol thatconnect the platform to a cellular company's switch. The PRIs and thespecial access facilities both connect through a smart jack (not shown),for example, to the DS1 interface ports (not shown) of the Summa Fourswitch in the platform 18. Subscribers C who are served by lnterexchangeCarriers (IXCs) may have their calls carried by DS1 special accessfacilities with FGD protocol that connect the platform 18 to the IXCsfacility point of the presence (POP). The special access facilitiesconnect through a smart jack (not shown), for example, to the DS1interface ports (not shown) of the Summa Four switch in the platform 18.

[0071] Preferably, the end office switch or switches that directlyconnect to the platform 18 terminate ISDN PRI lines, however, this isnot necessary to practice the invention. These end office switchesprovide line-side connections to the platform 18 as they would to anyother customer premises equipment, thus they contain the subscribertelephone numbers. In a preferred embodiment, a switch such as NorthernTelecom DMS-100 can be used for the end office switches. While thepresent invention is described with reference to the illustratedplatform shown in FIG. 4, the present invention is not limited to suchan architecture.

[0072] The subscriber can create and modify his or her own subscriberprofile by programming a profile or modifying an existing profiledirectly from a DTMF telephone set. Alternatively, other interfaces maybe used such as speech interfaces, a keyboard or mouse, or touch screeninterfaces, for example. In particular, a subscriber can select andlater modify which call routing features should be implemented from anylocation by dialing his or her PAS telephone number. FIGS. 5-53 areflowcharts representing the steps taken by the subscriber to implementcall routing features. FIGS. 54-61 are flowcharts of incoming callprocessing which will be described in greater detail hereinafter.

[0073] 1. Creating and/or Modifying a Subscriber's Programmed ScheduleSubroutine

[0074]FIGS. 5 and 6 are flowcharts of selecting a schedule to eithercheck it or change it. The program starts at reference 100. At step 102,the following announcement is played:

[0075] “Forwarding Schedules. To work with your weekday schedule, pressone. To work with your weekend schedule, press two. To return to theprevious menu, press star. For help, press zero now.”

[0076] At step 104, it is determined which key on the keypad is pressedby the subscriber. If key 1 is pressed, then at step 106 the weekdayschedule is retrieved. If key 2 is pressed, then at step 108 the weekendschedule is retrieved. If the star key is pressed, then control istransferred to a service administration menu which does not form part ofthe present invention. If the zero key is pressed, then at step 110 thefollowing announcement is played:

[0077] “Help information. You can make your selection while this messageis playing. Pressing one will allow you to listen to or change yourweekday schedule. Pressing two will allow you to listen to or changeyour weekend schedule. Pressing star will return you to the ServiceAdministration menu. If you need additional help, please contact youraccount representative.”

[0078] Control is then returned to step 104 to determine what selectionthe subscriber makes. If keys 3-9 or the pound key is pressed, then atstep 112 the following announcement is played: “<key pressed> is not avalid menu selection.” If no selection is made before the system timesout, preferably after about six seconds or any other allotted timeperiod, then at step 114 the following announcement is played: “Nokeypresses have been received.” At step 116 it is determined if this isthe third time that the system has timed out before a selection has beenmade or if keys 3-9 or the pound key have been selected. If so, then atstep 118 the following announcement is played: “You are having troubleusing your Single Number Service. Please contact an accountrepresentative. Thank you. Good-bye.” The caller is then disconnected.If it is determined at step 116 that this is not the third time that thesystem has timed out or an invalid key has been selected, control isreturned to step 102.

[0079] If it is determined at step 104 that key 1 or 2 was selected,i.e., that the subscriber indicates that he or she would like to workwith their weekday or weekend schedule respectively, control is passedto step 120 (FIG. 6), where it is determined if there is an existingschedule. If there is an existing schedule, then at step 122 thefollowing announcement is played:

[0080] “<Weekday/Weekend>Schedule. To listen to the schedule, press one.To redo the schedule, press two. To return to the Service Administrationmenu, press star. For help, press zero now.”

[0081] If it is determined at step 120 that there is no existingschedule, then at step 130 the following announcements are played: “Your<weekday/weekend> schedule is empty. You will be required to enter yourentire <weekday/weekend> schedule. To continue, press one. Otherwise,press two. For help, press zero now.” Control is then forwarded to step206 (FIG. 9) of the redo schedule subroutine program which will bedescribed in detail hereinafter. At step 124 it is determined what keythe subscriber presses. If key 1 is pressed, control is passed to step131 (FIG. 7) of the listen to schedule subroutine program which will bedescribed in detail hereinafter. If key 2 is selected, control is passedto step 200 (FIG. 9) of the redo schedule subroutine program. If thezero key is selected, then at step 126 the following announcement isplayed:

[0082] “Help Information. You can make your selection while this messageis playing. Pressing one will allow you to listen to your<weekday/weekend> schedule. Pressing two will allow you to reenter your<weekday/weekend> schedule. You will have to reenter the entireschedule. Pressing star will return you to the Service Administrationmenu. If you need additional help, please contact your accountrepresentative.”

[0083] Control is then returned to step 124 to determined what selectionthe subscriber has made. If keys 3-9 or the pound key is selected or thesystem times out, then the same steps 112, 114, 116 and 118 are carriedout as previously described with reference to FIG. 5. If the star key isselected at step 124, then control is returned to the serviceadministration menu.

[0084] As previously described, if it is determined at step 124 that key1 was pressed, then the listen to schedule subroutine program shown inFIGS. 7 and 8 is entered.

[0085] 2. Listen to Schedule Subroutine Program

[0086]FIGS. 7 and 8 are flowcharts of the listen to schedule subroutineprogram. The program begins at reference 131. At step 132 the followingannouncement is played: “You can press pound to advance to the next timeperiod and hear the contact numbers assigned to that time period.” Thenat step 134 the following announcement is played:

[0087] “In the time period starting at <starting time> the contactnumbers are <contact numbers>. To hear the previous period, press 7. Toreplay this period, press 8. To hear the next time period, press 9 orpound. To cancel playback and return to the previous menu, press star.For help, press zero now.”

[0088] At step 136 it is determined what key the subscriber presses. Ifkey 7 is pressed, then at step 138 it is determined if the time periodplayed at step 134 is already at the first period. If it is, then atstep 140, the following announcement is played: “You are at the firsttime period of the day. To replay the first time period, press eight. Toreturn to the <Weekday/Weekend> schedules menu, press star.” Control isreturned to step 136 to determine what selection the subscriber makes.If the time period was not the first period, then at step 142 theprevious period is retrieved. Control is then returned to step 134 wherethe announcement played at step 134 is played again with the previoustime period. If it is determined at step 136 that key 8 is pressed,control is also returned to step 134 and the announcement is replayed.If the star key is pressed, then control is returned to reference point100 (FIG. 5). If the zero key is pressed, then at step 144 the followingannouncement is played:

[0089] “Help Information. You can make your selection while this messageis playing. Pressing seven will take you back to the previous period andplay the contact numbers you assigned to that period. Pressing eightwill replay the time period and the numbers you just heard. Pressingnine or pound will let you hear the numbers you assigned to the nexttime period. Pressing star will return you to the previous menu. If youneed additional help, please contact your account representative.”

[0090] Control is then returned to step 136 to determine which key hasbeen pressed. If keys 1-6 is pressed or the system times out, then thesame steps 112, 114, 116, 118 are carried out as previously describedwith reference to FIG. 5. If key 9 or the pound key is selected at step136 indicating that the subscriber wants to hear the next time period,then at step 150 (FIG. 8) it is determined if the time period listed inthe announcement at step 134 was the last period. If it is, then at step152 the following announcement is played: “You are at the last timeperiod of the day. To replay the last time period, press eight. Toreturn to the <Weekday/Weekend> schedules menu, press star.” Control isthen returned to step 136 (FIG. 7). If the time period is not the lastperiod, then at step 154 the next period is retrieved. Control is thenreturned to step 134 (FIG. 7) and the announcement is played indicatingthe next period.

[0091] 3. Redo Schedule Subroutine Program

[0092] FIGS. 9-48 are flowcharts of the redo schedule subroutineprogram.

a. One Number Programming Subroutine

[0093] FIGS. 9-18 are flowcharts of the one number programmed schedule.

[0094] Returning to FIG. 6, if it is determined at step 124 that key 2is pressed indicating that the subscriber wishes to redo his or herschedule, the redo schedule subroutine program (FIGS. 9-48) is enteredat reference point 199. At step 200 it is determined whether theschedule is empty. If it is not empty, then at step 202 the followingannouncement is played:

[0095] “You will be required to redo the entire <weekday/weekend>schedule. To continue, press one. Otherwise, press 2. For help, presszero now.”

[0096] If it is determined that the schedule is empty, then at step 204the following announcement is played: “You will be required to enteryour entire <weekday/weekend> schedule.” At step 206 it is determinedwhat key the subscriber has pressed. If key 1 is pressed, then at step208 it is determined whether one number routing is activated. If it is,then control is passed to step 216 (FIG. 10). If one number routing isnot activated, then control is passed to step 370 (FIG. 19) where itwill be determined if sequential programming is active, which will bedescribed hereinafter. If either key 2 or the star key is pressed,control is returned to the administrative menu. If the zero key ispressed, then at step 210 it is determined whether the schedule isempty. If it is not, then at step 212 the following announcement isplayed:

[0097] “Help Information. You can make your selection while this messageis playing. Pressing one will let you redo your <weekday/weekend>schedule. You will have to reenter the entire schedule once you begin.Pressing two will return you to the Service administration menu withoutchanging your schedule. If you need additional help, please contact youraccount representative.”

[0098] Control is then returned to step 206 to determine what selectionthe subscriber makes. If it is determined that the schedule is empty,then at step 214 the following announcement is played:

[0099] “Help Information. You can make your selection while this messageis playing. Pressing one will let you enter your <weekday/weekend>schedule. You will have to enter the entire schedule once you begin.Pressing two will return you to the Service administration menu withoutsetting up your schedule. If you need additional help, please contactyour account representative.”

[0100] Control is then returned to step 206 to determine what key isselected by the subscriber. If the pound key is selected or the systemtimes out, the same steps already described with reference to FIG. 5 arecarried out.

[0101] If it is determined at step 208 that one number routing isactivated, then at step 216 (FIG. 10) the following announcement isplayed:

[0102] “Enter the number to which you would like your voice callsforwarded in the time period starting at midnight. To forward calls to<default destination> just press pound.”

[0103] At step 218 it is determined what key(s) is (are) pressed by thesubscriber. If keys 0-9 is pressed, those numbers are stored in amemory. If the star key is pressed, then at step 220 it is determinedwhether any digits have been entered. If digits have been entered intomemory, then at step 222 the following announcement is played: “Entrycleared.” Control is then returned to step 218 to determine what keysare pressed. If it is determined at step 220 that no digits have beenentered, then at step 224 the following announcement is played:“Schedule update canceled.” Control is then returned to the serviceadministrative menu. If the pound key is pressed or the system timesout, then at step 226 it is determined whether any digits have beenselected. If some digits have been selected, then at step 228 it isdetermined whether the zero key has been pressed once. If it has, thenat step 230 the following announcement is played:

[0104] “Help Information. Enter the ten-digit number to which you wouldlike your voice calls forwarded during the time period starting atmidnight. It is not necessary to enter a one before the area code. Ifyou want to forward your calls to <default destination>, just presspound. If you make a mistake while entering the number, pressing starwill clear what you have entered and let you start over. Pressing starwithout entering any digits will return you to the ServiceAdministration menu. If you need additional help, please contact youraccount representative.”

[0105] Control is then returned to step 218 to determine what key ispressed. If it is determined at step 228 that the zero key has not beenpressed, then at step 232 it is determined whether a valid phone numberhas been entered. If no valid phone number has been entered, then atstep 234 the following announcement is played: “<entered number>, is nota valid ten-digit telephone number.” Control is then transferred to step116. If it is determined at step 232 that a valid phone number had beenentered, then at step 250 (FIG. 11) the following announcement isplayed: “<entered telephone number>. If this is correct, press one. Toreenter the number, press two.” At step 252, it is determined what keysare pressed by the subscriber. If key 1 is pressed indicating that theentered telephone number is correct, then control is passed to step 262(FIG. 12). If key 2 is pressed, then at step 254 the followingannouncement is played: “Entry canceled.” Then at step 256 it isdetermined whether the time period is in the midnight period. If it is,control is returned to step 216 (FIG. 10) where the subscriber is askedto enter the number to which voice calls should be forwarded in the timeperiod starting at midnight. If not, control is transferred to step 330(FIG. 16) to be described hereinafter. If the zero key is pressed, thenat step 258 the following announcement is played:

[0106] “Help Information. You can make your selection while this messageis playing. Pressing one will accept the number you have entered forthis time period. Pressing two will cancel the number and let youreenter it. If you need additional help, please contact your accountrepresentative.”

[0107] Control is then returned to step 252 to determine what keys arepressed. If it is determined at step 226 (FIG. 10) that no digits havebeen entered or the pound key was pressed indicating that the subscriberwished her or his calls routed to a default destination, then at step260 (FIG. 12) the following announcement is played: “Calls in the periodstarting at midnight will be forwarded to <default destination>.” Atsteps 262 and 268, the prompts the subscriber will receive varydepending upon the time period the schedule is working with. Forexample, at step 262, it is determined whether the last period was after6 p.m. If not, then at step 264 the following announcement is played:“Enter the start time of the next time period. To have the last periodcontinue until midnight, just press pound. (1 second pause) For help,press zero now.” If the last period was after 6 p.m., then at step 268it is determined if the last period was after 23:44. If it is not, thenat step 270 the following announcement is played: “To have the lastperiod continue until midnight, press pound. Otherwise, enter the starttime of the next time period. (1 second pause) For help, press zeronow.” If it is, then at step 272 the following announcement is played:“The last period will extend until midnight.” Control is then passed tostep 350 (FIG. 17) which will be described hereinafter. At step 266, itis determined what key is pressed by the subscriber indicating that thesubscriber wants the entry cleared. If the star key is pressed, then atstep 274 it is determined whether any digits have been entered beforethe star key is pressed. If some digits have been entered, then at step276 the following announcement is played: “Entry cleared.” Control isthen returned to step 266. If it is determined at step 274 that nodigits have been entered, then control is passed to step 360 (FIG. 18)which will be described hereinafter. If anyone of the numeric keys 0-9has been pressed, these numbers are stored in a memory. If the pound keyis pressed or the system times out (i.e., an inter-digit time out), thenat step 277 it is determined whether any digits have been entered. Ifnone have, then at step 278 the following announcement is played: “Thelast period will extend until midnight.” If digits have been entered,then at step 280 it is determined whether the zero key has been pressedonce. If it has, then at step 282 the following announcement is played:

[0108] “Help Information. Enter the start time of the next scheduleperiod as a one to four digit number. If you make a mistake whileentering the time, pressing star will let you start over.

[0109] Just pressing pound will indicate you do not want to add anotherperiod. Just pressing star, will allow you to cancel updating yourschedule.”

[0110] Control is then returned to step 266 to determine what keys arepressed. If it is determined at step 280 that the zero key has not beenpressed once, then at step 290 (FIG. 13) it is determined whether or nota valid time has been entered. If one has, then at step 292 it isdetermined whether the number 12 or 1200 has been entered. If not, thenat step 294 the following announcement is played: “For <entered time>AM, press one. For <entered time> PM, press two.” If the number 12 or1200 was entered at step 292, then at step 296 the followingannouncement is played: “For twelve midnight, press one. For twelvenoon, press two.”

[0111] If it is determined at step 290 that a valid time has not beenentered, then at step 298 the following announcement is played:“<Entered time> is not a valid time.” Then the following steps 116 and118, as already described with reference to FIG. 5, are carried out.

[0112] Returning to FIG. 12, if it is determined at step 266 that apre-dial time out occurred (i.e., the subscriber has not entered anydigits, as opposed to an inter-digit time out as described at step 276),then at step 300 (FIG. 13) the following announcement is played: “No keypresses have been received.” Steps 116-118, as already described,follow.

[0113] If it is determined at step 292 (FIG. 13) that number 12 or 1200is not entered and the various announcements at steps 294 or 296 areplayed, then at step 302 (FIG. 14) it is determined what key is pressedby the subscriber. If key 1 is pressed, then at step 304 the time periodis set to a.m. If key 2 is pressed, then at step 310 the time period isset to p.m. In either case at step 306 the following announcement isplayed: “Start Time set to <start time>.” At step 308 it is determinedwhether the time period is less than the previous start time. If it is,then at step 316 (FIG. 15) the following announcement is played:

[0114] “The time entered is prior to the start of the previous timeperiod. If you mean to overwrite any affected previous time periods,press one. To reenter the time, press two. For help, press zero now.”

[0115] If it is determined at step 308 that the period was not less thanthe previous start time, then at step 330 (FIG. 16) the followingannouncement is played:

[0116] “Enter the number to which you would like your voice callsforwarded in the time period starting at <start time>. To forward callsto <default destination>, just press pound.”

[0117] Returning to step 302 (FIG. 14), if the star key is pressed, thenat step 312 the following announcement is played: “Entry canceled.”Control is then returned to step 262 (FIG. 12). If at step 302 the zerokey is pressed, then at step 314 the following announcement is played:

[0118] “Help information. Pressing one will mark the time as midnight orafter, but before noon. Pressing two will mark it as noon or after, upuntil eleven fifty-nine at night. If the time is incorrect, press starand reenter it. If you need additional help, please contact your accountrepresentative.”

[0119] Control is then returned to step 302 to determine which keys thesubscriber presses. The other selections at block 302 have already beendescribed with respect to other embodiments. The same will be true inall of the remaining flow charts.

[0120] If it is determined at step 308 that the time period was lessthan the previous start time and after the announcement of step 316(FIG. 15) is played, control is then passed to step 318 to determinewhat key is pressed. If key 1 is pressed, then control is transferred tostep 330 (FIG. 16). If key 2 is pressed, than at step 320 the followingannouncement is played: “Entry canceled”. Control is then returned tostep 262 (FIG. 12). If at step 318 the zero key is pressed, then at step322 the following announcement is played:

[0121] “Help Information. You can make your selection while this messageis playing. pressing one will delete any time periods that youpreviously entered which would occur after the currently entered time.Pressing two will allow you to reenter the currently entered start timeand will not delete any prior time periods. If you need additional help,please contact your account representative.”

[0122] Control is then returned to step 318 to determine what key ispressed.

[0123] If at step 318 key 1 is pressed, then at step 330 (FIG. 16) thefollowing announcement is played:

[0124] “Enter the number to which you would like your voice callsforwarded in the time period starting at <start time>. To forward callsto <default destination>, just press pound.”

[0125] At step 332 it is determined what keys are pressed by thesubscriber. If keys 0-9 are pressed, those numbers are collected andstored in a memory. If the star key is pressed, then at step 334 it isdetermined whether any digits have been entered. If some digits havebeen entered, then at step 336 the following announcement is played:“Entry cleared”. Control is then returned back to step 332 to determinewhat keys are pressed. If it is determined at step 334 that no digitshave been entered, control is passed to step 360 (FIG. 18), to bedescribed hereinafter. If at step 332 the pound key is pressed or theinter-digit time out has occurred, then at step 338 it is determinedwhether any digits have been entered. If no digits (0-9) have beenentered, then control is returned to step 262 (FIG. 12). If digits havebeen entered, then at 340 it is determined whether the zero key has beenpressed once. If it has, then at step 342 the following announcement isplayed:

[0126] “Help Information. Enter the ten-digit number to which you wouldlike your voice calls forwarded during the time period starting at<start time>. It is not necessary to enter a one before the area code.Pressing pound will forward your calls to <default destination>. If youmake a mistake while entering the number, pressing star will clear whatyou entered and let you start over. Pressing star without entering anydigits will allow you to cancel entering a new schedule. If you needadditional help, please contact you account representative.”

[0127] Control is then returned to step 332 to determine what keys arepressed by the subscriber. If it is determined at step 340 that the zerokey has not been pressed, then at step 344 it is determined whether avalid phone number has been entered. If a valid phone number had beenentered, control is returned to step 250 (FIG. 11). If a valid phonenumber was not entered, then at step 346 the following announcement isplayed:

[0128] “<entered number>, is not a valid ten-digit telephone number.”

[0129] Control is transferred to step 116. If at step 332, a pre-dialtime out occurs, then at step 331, the following announcement is played:“No key presses have been received.”

[0130] Returning to FIG. 12, if it is determined at step 277 that nodigits have been entered, then at step 278 the following announcement isplayed:

[0131] “The last period will extend until midnight.”

[0132] Control is then transferred to step 350 (FIG. 17) where thefollowing announcement is played:

[0133] “To save this schedule and then listen to it, press one. To saveit and return to the Service Administration menu, press two. To continueentering time periods, press star. For help, press zero now.”

[0134] At step 352 it is determined what key is pressed. If key 1 ispressed, then at step 354 the schedule is saved and control istransferred to step 131 (FIG. 7). If key 2 is pressed, then at step 356the schedule is saved and control is returned to the serviceadministration menu. If the star key is pressed, then control isreturned to step 262 (FIG. 12). If the zero key is pressed, then at step358 the following announcement is played:

[0135] “Help Information. You can make a selection while this message isplaying. Pressing one will save the schedule you have entered and allowyou to review it. Pressing two will save it and then return you to theService Administration menu. Pressing star will return you to entering anew time period. If you need additional help, please contact youraccount representative.

[0136] Control is then returned to step 352 to determine what keys havebeen pressed.

[0137] Returning to FIG. 16, if it is determined at step 334 that nodigits have been entered, then at step 360 (FIG. 18) the followingannouncement is played:

[0138] “To quit without saving the schedule you just entered, press one.To return to entering the schedule, press two. (1 second pause) Forhelp, press zero now.”

[0139] At step 362 it is determined what key has been pressed. If key 1is pressed, then at step 364 the following announcement is played.“Schedule not saved.” Control is then returned to the serviceadministration menu. If key 2 is pressed, then at step 366 it isdetermined whether the selection is made from the time entry. If it is,then control is returned to step 262 (FIG. 12). If it is not, control ispassed to 330 (FIG. 16). If the zero key is pressed, then at step 368the following announcement is played.

[0140] “Help Information. You can make a selection while this message isplaying. Pressing one will abandon the schedule you have just beenentering without saving it and return you to the Service Administrationmenu. Pressing two will return you to entering the current schedule. Ifyou need additional help, please contact your account representative.”

[0141] Control is then returned to step 362 to determine what key hasbeen pressed.

b. Sequential Programming Subroutine

[0142] FIGS. 19-33 illustrate the sequential programming portion of theredo schedule subroutine program.

[0143] Returning back to FIG. 9, if it is determined at step 208 thatone number routing was not selected, then control is transferred to step370 (FIG. 19) where it is determined whether sequential programming hasbeen selected. If it has not, then control is transferred to step 600(FIG. 34) where it is assumed that simultaneous programming is selected.If it is determined at step 370 that sequential programming has beenactivated, then at step 372 it is determined what is the first telephonenumber that should be tried. If a first number is to be entered, then atstep 374 the following announcement is played.

[0144] “Enter the first number we should use to try to contact you inthe time period starting at midnight. If you want us to forward allcallers to <default destination>, just press pound.”

[0145] If it is determined at step 372 that a first number has alreadybeen selected, then at step 376 it is determined what second numbershould be entered, then at step 378 the following announcement isplayed:

[0146] “Enter the second number you would like us to try if the call isnot accepted at the first number. If you do not want us to try any morenumbers, just press pound.”

[0147] If it is determined that a second number has already beenentered, then at step 380 it is determined if a third number should beentered. If so, then at step 382 the following announcement is played:

[0148] “Enter the third number you would like us to try. If you do notwant us to try any other number, just press pound.”

[0149] If a third number has been entered, then control is transferredto step 440 (FIG. 25) to set up time periods as will be described indetail hereinafter. Returning to FIG. 19, at step 384 it is determinedwhat keys are pressed. If keys 0-9 are pressed, they are collected andstored in a memory. If the star key is pressed, then at step 386 it isdetermined whether any digits have been entered. If digits have beenentered, then at step 388 the following announcement is played: “Entrycleared.” Control is then returned to step 384 to determine what keyshave been selected. If it is determined at step 386 that no digits havebeen entered, then at step 390 the following announcement is played:“Schedule update canceled.” Control is then returned to the serviceadministration menu. If it is determined at step 384 that the pound keyis pressed or the system times out, then at step 392 it is determinedwhether any digits have been entered. If digits have been entered, thenat step 394 it is determined whether a single zero has been entered. Ifit has been, then control is transferred to step 400 (FIG. 20). At step400 it is determined whether this is the first number. If it is, then atstep 402 the following announcement is played:

[0150] “Help Information. Beginning at midnight, what ten-digittelephone number should we use to try to contact you? It is notnecessary to enter a one before the area code. Pressing just a poundwill forward your calls to <default destination>. If you make a mistakewhile entering the number, pressing star will clear what you entered andlet you start over. Pressing star without entering any digits will allowyou to cancel entering a new schedule. If you need additional help,please contact your account representative.”

[0151] If a first number has already been entered, then at 404 thefollowing announcement is played:

[0152] “Help Information. What other telephone number should we use totry to contact you? Pressing pound will indicate you do not want us totry any other numbers. If you make a mistake while entering anothercontact number, pressing star will clear what you entered and let youstart over. If you need additional help, please contact your accountrepresentative.”

[0153] In either case control is then returned to step 384 (FIG. 19). Ifa single zero has not be entered at step 394, then at step 396 it isdetermined whether a valid phone number has been entered. If a validnumber was not entered, then at step 406 (FIG. 21) the followingannouncement is played:

[0154] <entering number>, is not a valid ten-digit telephone number.”

[0155] Control is transferred to step 408 (FIG. 22) where it isdetermined if an error has been made as previously discussed withreference to FIG. 5. If it is determined at step 392 (FIG. 19) that nodigits have been entered, then at step 410 (FIG. 23) it is determinedwhether this is the first number. If it is, then at step 412 thefollowing announcement is played:

[0156] “Calls in the period starting at midnight will be forwarded to<default destination>.”

[0157] Returning to FIG. 19, if a valid number was entered at step 396,then at step 420 (FIG. 24) the following announcement is played:

[0158] “<entered telephone number>. If this is correct, press one. Toreenter the number, press two.”

[0159] Then at step 422 it is determined what keys are pressed. If key 1is pressed, then at step 428 it is determined whether the midnightperiod has been selected. If key 2 is pressed, then at step 424 thefollowing announcement is played: “Entry canceled.” Then at step 426 theentry is canceled and at step 428 it is determined whether the midnightperiod has been selected. If at step 422 it is determined that the zerokey is selected, then at step 430 the following announcement is played:

[0160] “Help Information. You can make your selection while this messageis playing. Pressing one will accept the number you have entered forthis time period. Pressing two will cancel the number and let youreenter it. If you need additional help, please contact your accountrepresentative.”

[0161] As previously described with reference to FIG. 19, if at step 380it is determined that a third number has already been entered, thencontrol is passed to step 440 (FIG. 25). At step 440, it is determinedwhether the last time period started after 6 p.m. If not, then at step442 the following announcement is played: “Enter the start time of thenext time period. To have the last period continue until midnight, justpress pound. (1 second pause) For help, press zero now.” If the lasttime period started after 6 p.m., then at step 446 it is determined ifthe last time period started after 23:44. If not, then at step 448 thefollowing announcement is played: “To have the last period continueuntil midnight, press pound. Otherwise, enter the start time of the nexttime period. (1 second pause) For help, press zero now.” If the lasttime period started after 23:44, then at step 450 the followingannouncement is played: “The last period will extend until midnight.”Control is then passed to step 510 (FIG. 31). At step 444, it isdetermined what key is pressed by the subscriber. If the star key ispressed, then at step 452 it is determined whether any digits have beenentered. If not, control is transferred to step 544 (FIG. 33). Otherwisethe following announcement is played at step 454 “Entry cleared” andcontrol is returned to step 444.

[0162] If anyone of the numeric keys 0-9 is pressed, these numbers arestored in a memory. If the pound key is pressed or the system times out,then at step 456 it is determined whether any digits have been entered.If none have, then at step 458 the following announcement is played:“The last period will extend until midnight.” If digits have beenentered, then at step 460 it is determined whether the zero key has beenpressed once. If it has, then at step 462 the following announcement isplayed:

[0163] “Help Information. Enter the start time of the next scheduleperiod as a one to four digit number. If you make a mistake whileentering the time, pressing star will let you start over. Just pressingpound will indicate you do not want to add another period. Just pressingstar, will allow you to cancel updating your schedule.”

[0164] Control is then returned to step 444 to determine what keys arepressed. If it is determined at step 460 that the zero key had not beenpressed, then at step 470 (FIG. 26) it is determined whether or not avalid time has been entered. If one has, then at step 472 it isdetermined whether the number 12 or 1200 has been entered. If it is not,then at step 474 the following announcement is played: “For <enteredtime> AM, press one. For <entered time> PM, press two.” If the number 12or 1200 was entered at step 472, then at step 476 the followingannouncement is played: “For twelve midnight, press one. For twelvenoon, press two.” If it is determined at step 470 that a valid time hadnot been entered, then at step 478 the following announcement is played:“<Entered time> is not a valid time.” Then at the following steps 116and 118 as already described with reference to FIG. 5 are carried out.

[0165] Returning to FIG. 25, if it is determined at step 444 that apre-dial time out occurred, then at step 479 (FIG. 26) the followingannouncement is played: “No key presses have been received”.

[0166] If it is determined at step 472 (FIG. 26) that either number 12or 1200 was or was not entered and the various announcements at steps474 or 476 are played, then at step 480 (FIG. 27) it is determined whatkey is pressed by the subscriber. If key 1 is pressed, then at step 482the time period is set to a.m. If key 2 is pressed, then at step 488 thetime period is set to p.m. In either case at step 484 the followingannouncement is played: “Start Time set to <start time>.” At step 486 itis determined whether the time period is less than the previous starttime. If it is, then at step 460 (FIG. 28) the following announcement isplayed:

[0167] “The time entered is prior to the start of the previous timeperiod. If you mean to overwrite any affected previous time periods,press one. To reenter the time, press two. For help, press zero now.”

[0168] If it is determined at step 486 that the period was not less thanthe previous start time, then control is passed to step 481 (FIG. 30).At step 481 it is determined if this is the first telephone number thatshould be tried. If it is, then at step 483 the following announcementis played.

[0169] “Enter the first number we should use to try to contact you inthe time period starting at <starting time>. If you want us to forwardall callers to <default destination>, just press pound.”

[0170] If it is determined at step 481 that a first number has alreadybeen selected, then at step 485 it is determined what second numbershould be entered, then at step 489 the following announcement isplayed:

[0171] “Enter the second number you would like us to try if the call isnot accepted at the first number. If you do not want us to try any morenumbers, just press pound.”

[0172] If it is determined that a second number has already beenentered, then at step 487 it is determined if a third number should beentered, then at step 490 the following announcement is played:

[0173] “Enter the third number you would like us to try. If you do notwant us to try any other number, just press pound.”

[0174] If a third number has been entered, then control is transferredto step 440 (FIG. 25) to set up time periods as previously described.

[0175] At step 492 it is determined what keys are pressed. If keys 0-9are pressed, they are collected and stored in a memory. If the star keyis pressed, then at step 494 it is determined whether any digits havebeen entered. If digits have been entered, then at step 496 thefollowing announcement is played: “Entry cleared.” Control is thenreturned to step 492 to determine what keys are selected. If it isdetermined at step 494 that no digits have been entered, then control ispassed to step 544 (FIG. 33) and the following announcement is played:

[0176] “To quit without saving the schedule you just entered, press one.To return to entering the schedule, press two. (1 second pause) Forhelp, press zero now.”

[0177] If it is determined at step 492 that the pound key is pressed orthe system times out, then at step 498 it is determined whether anydigits have been entered. If digits have been entered, then at step 500it is determined whether a single zero has been entered. If it has, thencontrol is transferred to step 470 (FIG. 29). At step 470 it isdetermined if this is the first number to be entered. If it is, then atstep 472 the following announcement is played:

[0178] “Help Information. Beginning at <starting time>, what ten-digittelephone number should we use to try to contact you? It is notnecessary to enter a one before the area code. Pressing just a poundwill forward your calls to <default destination>. If you make a mistakewhile entering the number, pressing star will clear what you entered andlet you start over. Pressing star without entering any digits will allowyou to cancel entering a new schedule. If you need additional help,please contact your account representative.”

[0179] If a first number was already entered, then at 474 the followingannouncement is played:

[0180] “Help Information. What other telephone number should we use totry to contact you? Pressing pound will indicate you do not want us totry any other numbers. If you make a mistake while entering anothercontact number, pressing star will clear what you entered and let youstart over. If you need additional help, please contact your accountrepresentative.”

[0181] In either case control is then returned to step 492 (FIG. 30). Ifa single zero has not been entered at step 500, then at step 502 it isdetermined whether a valid phone number has been entered. If a validnumber is not entered, then at step 504 the following announcement isplayed:

[0182] “<entered number>, is not a valid ten-digit telephone number.”

[0183] Control is transferred to step 116 where it is determined if anerror has been made as previously discussed with reference to FIG. 5. Ifit is determined at step 498 that no digits have been entered, then atstep 540 (FIG. 32) it is determined whether this is the first number tobe entered. If it is, then at step 542 the following announcement isplayed:

[0184] “Starting at <starting time> calls will be forwarded to <defaultdestination>.”

[0185] Control is then returned to step 440 (FIG. 25). If it isdetermined at step 540 that a first number has been entered, thencontrol is simply transferred to step 440 (FIG. 25). Returning to FIG.30, if a valid number was entered at step 502, then at step 420 (FIG.24) the following announcement is played:

[0186] “<entered telephone number>. If this is correct, press one. Toreenter the number, press two.”

[0187] And the remaining steps as previously described are carried out.

[0188] Returning to FIG. 33, at step 544, the following message isplayed:

[0189] “To quit without saving the schedule you just entered, press one.To return to entering the schedule, press two (1 second pause). Forhelp, press zero now.”

[0190] At step 546 it is determined what key is pressed. If key 1 ispressed, then at step 548 the following announcement is played “schedulenot saved,” and control is returned to the service menu. If key 2 ispressed, then at step 550 it is determined whether the return toentering the schedule at the time entry stage or not. If not, control ispassed to step 481 (FIG. 30). If yes, control is passed to step 440(FIG. 25). If the zero key is pressed at step 546, then at step 552 thefollowing announcement is played:

[0191] “Help Information. You can make a selection while this message isplaying. Pressing one will abandon the schedule you have just beenentering without saving it and return you to the Service Administrationmenu. Pressing two will return you to entering the current schedule. Ifyou need additional help, please contact your Single Number Serviceaccount representative.”

[0192] Control is returned to step 546.

[0193] Returning to FIG. 25, if at step 446 it is determined that thelast period is after 23:44, or if at step 456 it is determined that nodigits were entered and the message at steps 438 or 450, respectively,are played, control is passed to step 510 (FIG. 31) where the followingannouncement is played:

[0194] “To save this schedule and then listen to it, press 1. To save itand return to the Service Administration menu, press two. To continueentering time periods, press star. For help, press zero now.”

[0195] Control is passed to step 512 where it is determined what digitis pressed. If 1 is pressed, the schedule is saved and control istransferred to step 516. If 2 is pressed, the schedule is saved andcontrol is passed to step 520. If a star is pressed, control is returnedto step 440 (FIG. 25). If 0 is pressed, step 522 plays the followingannouncement and then returns control to step 512.

[0196] “Help Information. You can make a selection while this message isplaying. Pressing one will save the schedule you have entered and allowyou to review it. Pressing two will save it and then return you to theService Administration menu. Pressing star will return you to entering anew time period. If you need additional help, please contact youraccount representative.”

[0197] The digits 3-9 or pound are errors treated as previouslydiscussed in FIG. 5.

c. Simultaneous Programming Subroutine

[0198] FIGS. 34-48 illustrate the simultaneous programming portion ofthe redo schedule subroutine program.

[0199] Returning to FIG. 19, if it is determined at step 370 thatsequential programming was not selected, then control is transferred tostep 600 (FIG. 34) where it is determined whether this is the firsttelephone number to be entered. If a first number is to be entered, thenat step 602 the following announcement is played.

[0200] “Enter the first number we should use to try to contact you inthe time period starting at midnight. If you want us to forward allcallers to <default destination>, just press pound.”

[0201] If it is determined at step 600 that a first number has alreadybeen entered, then at step 604 it is determined what second numbershould be entered, then at step 606 the following announcement isplayed:

[0202] “Enter another number you would like us to try. If you do notwant us to try any more numbers, just press pound.”

[0203] If it is determined that a second number has already beenentered, then at step 608 it is determined if a third number should beentered, then at step 610 the following announcement is played:

[0204] “Enter the last number you would like us to try. If you do notwant us to try any other number, just press pound.”

[0205] If a third number has been entered, then control is transferredto step 656 (FIG. 40) to set up time periods as will be described indetail hereinafter. Returning to FIG. 34, at step 612 it is determinedwhat keys are pressed. If keys 0-9 are pressed, they are collected andstored in a memory. If the star key is pressed, then at step 614 it isdetermined whether any digits have been entered. If digits have beenentered, then at step 616 the following announcement is played: “Entrycleared.” Control is then returned to step 612 to determine what keyshave been selected. If it is determined at step 614 that no digits havebeen entered, then at step 618 the following announcement is played:“Schedule update canceled.” Control is then returned to the serviceadministration menu. If it is determined at step 612 that the pound keyis pressed or the system times out, then at step 620 it is determinedwhether any digits have been entered. If digits have been entered, thenat step 622 it is determined whether a single zero has been entered. Ifit has, then control is transferred to step 626 (FIG. 35). At step 626it is determined if this is the first number being entered. If it has,then at step 628 the following announcement is played:

[0206] “Help Information. Beginning at midnight, we will try to contactyou at up to three telephone numbers. Please enter one of the ten-digitnumbers we should use. It is not necessary to enter a one before thearea code. Pressing just a pound will forward your calls to <defaultdestination>. If you make a mistake while entering the number, pressingstar will clear what you entered and let you start over. Pressing starwithout entering any digits will allow you to cancel entering a newschedule. If you need additional help, please contact your accountrepresentative.”

[0207] If a first number has already been entered, then at 630 thefollowing announcement is played:

[0208] “Help Information. What other telephone number should we use totry to contact you after midnight? Pressing pound will indicate you donot want us to try any other numbers. If you make a mistake whileentering another contact number, pressing star will clear what youentered and let you start over. If you need additional help, pleasecontact your account representative.”

[0209] In either case control is then returned to step 612 (FIG. 34). Ifa single zero has not be entered at step 622, then at step 624 it isdetermined whether a valid phone number has been entered. If a validnumber was not entered, then at step 638 (FIG. 37) the followingannouncement is played:

[0210] “<entered number> is not a valid ten-digit telephone number.”

[0211] If it is determined at step 620 (FIG. 34) that no digits havebeen entered, control is passed to step 640 (FIG. 38) where it isdetermined whether a first number has been entered. If one has, thefollowing announcement is played at step 642, “Calls in the periodstarting at midnight will be forwarded to <default destination>.” Ineither case, control is then passed to step 656 (FIG. 40).

[0212] If a pre-dial timeout occurred at step 612, control is passed tostep 632 (FIG. 36) where the following announcement is played: “No keypresses have been received.” Then, at step 634, it is determined whetherthis was the third time the message of step 632 was played. The errortreatment as previously described follows.

[0213] Control is returned to the service menu. If a valid number wasentered at step 624, then at step 644 (FIG. 39) the followingannouncement is played:

[0214] “<entered telephone number>. If this is correct, press one. Toreenter the number, press two.”

[0215] Then at step 646 it is determined what keys the subscriber haspressed. If key 1 is pressed, then at step 652 it is determined whetherthe midnight period has been selected. If key 2 is pressed, then at step648 the following announcement is played: “Entry canceled.” Then at step650 the entry is canceled and at step 652 it is determined whether themidnight period has been selected. If at step 646 it is determined thatthe zero key is selected, then at step 654 the following announcement isplayed:

[0216] “Help Information. You can make your selection while this messageis playing. Pressing one will accept the number you have entered forthis time period. Pressing two will cancel the number and let youreenter it. If you need additional help, please contact your accountrepresentative.”

[0217] Control is then returned to step 646 to determine what selectionthe subscriber makes. If at step 652 it is determined that the midnightperiod was selected, then at step 600 (FIG. 34) it is determined whattelephone number is being entered (first, second or third) as previouslydiscussed. If at step 652 it is determined that the midnight period wasnot selected, then at step 720 (FIG. 44) it is determined if this is thefirst telephone number that is being entered. If keys 0-9 pound, star orthe system times out, the error steps as previously described withreference to FIG. 5 occur.

[0218] Returning to FIG. 34, if another number is not to be tried (no tostep 608 or no to first number in step 640 (FIG. 38)), control is passedto step 656 (FIG. 40). At step 656, it is determined whether the lastperiod started after 6 p.m. If not, then at step 658 the followingannouncement is played: “Enter the start time of the next time period.To have the last period continue until midnight, just press pound. (1second pause) For help, press zero now.” If the last period was after 6p.m., then at step 660 it is determined if the last period was after23:44. If it was not, then at step 662 the following announcement isplayed: “To have the last period continue until midnight, press pound.Otherwise, enter the start time of the next time period. (1 secondpause) For help, press zero now.” If it was after 23:44, then at step664 the following announcement is played: “The last period will extenduntil midnight.” Control is then passed to step 758 (FIG. 47). At step666, it is determined what key has been pressed by the subscriber. Ifthe star key is pressed, then at step 668 it is determined whether anydigits have been entered. If not, control is transferred to step 772(FIG. 48). If so, at step 670, the following announcement is played“Entry cleared” and control is returned to step 666. If any of thenumeric keys 0-9 has been pressed, these numbers are stored in a memory.If the pound key is pressed or the system times out, then at step 672 itis determined whether any digits have been entered. If none have, thenat step 674 the following announcement is played: “The last period willextend until midnight.” If digits have been entered, then at step 676 itis determined whether the zero key has been pressed once. If it has,then at step 678 the following announcement is played:

[0219] “Help Information. Enter the start time of the next scheduleperiod as a one to four digit number. If you make a mistake whileentering the time, pressing star will let you start over. Just pressingpound will indicate you do not want to add another period. Just pressingstar, will allow you to cancel updating your schedule.”

[0220] Control is then returned to step 666 to determine what keys arepressed. If it is determined at step 676 that the zero key had not beenpressed, then at step 680 (FIG. 41) it is determined whether or not avalid time has been entered. If one has, then at step 682 it isdetermined whether the number 12 or 1200 has been entered. If it is not,then at step 684 the following announcement is played: “For <enteredtime> AM, press one. For <entered time> PM, press two.” If the number 12or 1200 was entered at step 682, then at step 686 the followingannouncement is played: “For twelve midnight, press one. For twelvenoon, press two.” If it is determined at step 680 that a valid time hadnot been entered, then at step 688 the following announcement is played:“<Entered time>is not a valid time.” Then at the following steps 116 and118 as already described with reference to FIG. 5 are carried out.

[0221] Returning to FIG. 40, if it is determined at step 666 that apre-dial time out occurred then at step 690 (FIG. 41) the followingannouncement is played: “No key presses have been received”.

[0222] If it is determined at step 682 (FIG. 41) that either number 12or 1200 was or was not entered and the various announcements at step 684or 686 are played, then at step 698 (FIG. 42) it is determined what keyhas been pressed by the subscriber. If key 1 is pressed, then at step700 the time period is set to a.m. If key 2 is pressed, then at step 702the time period is set to p.m. In either case at step 704 the followingannouncement is played: “Start Time set to <start time>.” At step 706 itis determined whether the time period is less than the previous starttime. If it is, then at step 712 (FIG. 43) the following announcement isplayed:

[0223] “The time entered is prior to the start of the previous timeperiod. If you mean to overwrite any affected previous time periods,press one. To reenter the time, press two. For help, press zero now.”

[0224] If it is determined at step 706 that the period was not less thanthe previous start time, then control moves to step 720 (FIG. 44). If afirst number is to be tried, then control moves to step 722 thefollowing announcement is played.

[0225] “Enter the first number we should use to try to contact you inthe time period starting at <starting time>. If you want us to forwardall callers to <default destination>, just press pound.”

[0226] If it is determined at step 720 that a first number has alreadybeen entered, then at step 724 it is determined what second numbershould be tried, then at step 726 the following announcement is played:

[0227] “Enter another number you would like us to try. If you do notwant us to try any more numbers, just press pound.”

[0228] If it is determined that a second number has already beenentered, then at step 728 it is determined if a third number should betried, then at step 730 the following announcement is played:

[0229] “Enter the last number you would like us to try. If you do notwant us to try any other number, just press pound.”

[0230] If a third number has been entered, then control is transferredto step 656 (FIG. 40) to set up time periods as was discussed earlier.At step 732 it is determined what keys are pressed. If keys 0-9 arepressed they are collected and stored in a memory. If the star key ispressed, then at step 734 it is determined whether any digits have beenentered. If digits have been entered, then at step 736 the followingannouncement is played: “Entry cleared.” Control is then returned tostep 732 to determine what keys have been selected. If it is determinedat step 734 that no digits have been entered, then control istransferred to step 772 (FIG. 48) which will be described in detailhereinafter. If it is determined at step 732 that the pound key ispressed or the system times out, then at step 738 it is determinedwhether any digits have been entered. If digits have been entered, thenat step 740 it is determined whether a single zero has been entered. Ifnot, then at step 742 it is determined whether a valid phone number hasbeen entered. If it is determined at step 742 that a valid number wasnot entered, then at step 744 the following announcement is played:

[0231] “<entered number>, is not a valid ten-digit telephone number.”

[0232] If it is determined at step 738 that no digits have been entered,then control is transferred to step 754 (FIG. 46). At step 754 it isdetermined if a first number is being designated. If it is, then at step756 the following announcement is played:

[0233] Starting at “<starting time> calls will be forwarded to <defaultdestination>.

[0234] In either case, control is then returned to step 656 (FIG. 40).

[0235] Returning to FIG. 40, if at step 660 it is determined that thelast period is after 23:44, or if at step 672 it is determined that nodigits were entered, control is passed to step 758 (FIG. 47) where thefollowing announcement is played:

[0236] “To save this schedule and then listen to it, press 1. To save itand return to the Service Administration menu, press two. To continueentering time periods, press star. For help, press zero now.”

[0237] Control is passed to step 760 where it is determined what digitis pressed. If 1 is pressed, the schedule is saved and control istransferred to step 764. If 2 is pressed, the schedule is saved andcontrol is passed to step 768. If a star is pressed, control is returnedto step 656 (FIG. 40). If 0 is pressed, step 770 plays the followingannouncement and then returns control to step 760.

[0238] “Help Information. You can make a selection while this message isplaying. Pressing one will save the schedule you have entered and allowyou to review it. Pressing two will save it and then return you to theService Administration menu. Pressing star will return you to entering anew time period. If you need additional help, please contact youraccount representative.”

[0239] The digits 3-9 and pound are errors treated as previouslydiscussed in FIG. 5.

[0240] Returning to FIG. 48, at step 772 the following message isplayed:

[0241] “To quit without saving the schedule you just entered, press one.To return to entering the schedule, press two. (1 second pause) Forhelp, press zero now.”

[0242] At step 774, it is determined what key is pressed. If key 1 ispressed, then at step 776 the following announcement is played:“Schedule not saved,” and control is returned to the service menu. Ifkey 2 is pressed, then at step 778 it is determined whether to return toentering the schedule at the time entry stage or not. If not, control ispassed to step 720 (FIG. 44). If yes, control is passed to step 656(FIG. 40). If the zero key is pressed at step 774, then at step 780 thefollowing announcement is played:

[0243] “Help Information. You can make a selection while this message isplaying. Pressing one will abandon the schedule you have just beenentering without saving it and return you to the Service Administrationmenu. Pressing two will return you to entering the current schedule. Ifyou need additional help, please contact your account representative.

[0244] Control is returned to step 774.

[0245] 4. Schedule Override Subroutine Program

[0246] Next the schedule override subroutine program will be describedwith reference to FIGS. 49-53. The treatment of errors is the same ashas already been described with reference to FIG. 5 and thus will not bedescribed herein. The program begins at reference point 1000. At step1002 it is determined whether the schedule override is on. If it is,then at step 1004 the following announcement is played:

[0247] “All calls are forwarded to <Schedule Override DN>. To change theoverride number, press one. To turn override off, press two. (One secondpause) To retain the current override number and return to the mainmenu, press star.

[0248] For help, press zero.”

[0249] At step 1006 it is determined what keys the subscriber haspressed. If the star key is pressed, then control is returned to themain menu. If key 2 is pressed, then at step 1010 the schedule overrideis turned off. At step 1012 the following announcement is played:

[0250] “Schedule override has been turned off. You are now using yournormal forwarding schedule.”

[0251] Control is then returned to the main menu. If the zero key ispressed, then at step 1016 the following announcement is played:

[0252] “Help Information. You can make your selection while this messageis playing. Pressing one will let you enter a new override number.Pressing two will turn off override and return to using your normalforwarding schedule. Pressing star will leave override activated withthe current number and return you to the main menu. If you needadditional help, please contact your account representative.

[0253] Control is then returned to step 1006 to determine what selectionthe subscriber has made. If it is determined at step 1002 that theschedule override feature is not activated, then at step 1020 (FIG. 50)the following announcement is played:

[0254] “To activate override, press one. To leave override off, presstwo. (One second pause) For help, press zero.”

[0255] At step 1022 it is determined what keys the subscriber haspressed, if either key 2 or the star key are pressed, then control isreturned to the main menu. If the zero key is pressed, then at step 1024the following announcement is played:

[0256] “Help Information. You can make your selection while this messageis playing. Pressing one will activate your schedule override and letyou enter the number to which you would like your calls forwarded. Whenoverride is activated, your normal schedule will be ignored and allcalls will be forwarded to your override number. Pressing two will leaveschedule override off. If you need additional help, please contact youraccount representative.”

[0257] Control is then returned to step 1022 to determine what selectionthe subscriber has made. If it is determined at step 1006 (FIG. 49) orstep 1022 (FIG. 50) that key 1 is pressed, then at step 1026 (FIG. 51)it is determined whether the calling party number is available. If itis, then at step 1028 the following announcement is played:

[0258] “To have your calls forwarded to your current location, <CPN>,press one. To enter a different number, press two. (One second pause)For help, press zero.”

[0259] Then at step 1030 it is determined what keys the subscriber haspressed. If key 1 is pressed, then at step 1032 the schedule override tothe calling party number is activated. Control is then returned to themain menu. If the zero key is selected, then at step 1034 it isdetermined whether the schedule override is on. If it is, then at step1036 the following announcement is played:

[0260] “Help Information. You can make your selection while this messageis playing. Pressing star will leave schedule override activated withoutchanging the number your calls are forwarded to. Pressing one willforward your calls to the telephone from which you are currentlycalling. Pressing two will let you enter the telephone number at whichyou will receive calls. If you need additional help, please contact youraccount representative.”

[0261] If it is not, then at step 1038 the following announcement isplayed:

[0262] “Help Information. You can make your selection while this messageis playing. Pressing one will forward your calls to the telephone fromwhich you are currently calling. Pressing two will let you enter thetelephone number at which you will receive calls. Pressing star willleave schedule override off and return to the main menu. If you needadditional help, please contact your account representative.”

[0263] In either case control is returned to step 1030 to determine whatselection the subscriber has made. If the star key is pressed thencontrol is returned to the main menu. If it is determined at step 1026that the calling party number is not available or if at step 1030 key 2is pressed, then at step 1040 (FIG. 52) the following announcement isplayed:

[0264] “Please enter the telephone number to which you would like yourcalls forwarded. If you make a mistake while entering the number, pressstart to clear what you have entered and start over. To leave scheduleoverride off, just press star. For help, press zero now.”

[0265] Then at step 1042 it is determined what keys the subscriber haspressed. If 0-9 are pressed, those numbers are collected and stored in amemory. If the star key is pressed, then at step 1044 it is determinedwhether any digits have been entered. If no digits have been entered,then control is returned to the main menu. If digits have been entered,then at step 1046 the following announcement is played: “Entry cleared.”Control is returned to step 1042 to determine what selection thesubscriber has made. If at step 1042 the pound key is pressed or thesystem times out, then at step 1048 it is determined whether any digitshave been entered. If digits have been entered, then at step 1050 it isdetermined whether the zero key has been pressed. If it has, then atstep 1052 it is determined whether the schedule override is activated.If it is not, then at step 1056 the following announcement is played:

[0266] “Help Information. Enter the ten-digit number to which you wouldlike your voice calls forwarded. It is not necessary to enter a onebefore the area code. If you make a mistake during entry of the number,pressing star will clear what you have entered and let you star over.Pressing star without entering any digits will leave schedule overrideoff and return you to the main menu. If you need additional help, pleasecontact your account representative.”

[0267] If the schedule override is activated, then at step 1054 thefollowing announcement is played:

[0268] “Help Information. Enter the ten-digit number to which you wouldlike your voice calls forwarded. It is not necessary to enter a onebefore the area code. If you make a mistake during entry of the number,pressing star will clear what you have entered and let you star over.Pressing star without entering any digits will leave schedule overrideactivated without changing the number your calls are forwarded to. Ifyou need additional help, please contact your account representative.”

[0269] In either case control is returned to step 1042 to determine whatselection the subscriber has made. If it is determined at step 1050 thatthe zero key had not been pressed, then at step 1058 it is determinedwhether a valid phone number has been entered. If no valid phone numberhas been entered, then at step 1060 the following announcement isplayed:

[0270] “<entered number>, is not a valid ten-digit telephone number.”

[0271] If a valid phone number has been entered at step 1058, then atstep 1062 (FIG. 53) it is determined whether the override feature is on.If it is not, then at step 1064 the following announcement is played:

[0272] “<entered DN>. If this is correct, press one. To re-enter thetelephone number, press two (One second pause) To cancel activatingschedule override, press star. For help, press zero.”

[0273] If the schedule override is activated, then at step 1066 thefollowing announcement is played:

[0274] “<entered DN>. If this is correct, press one. To re-enter thetelephone number, press two (One second pause) To leave the currentoverride number active, and leave override on, press star. For help,press zero.”

[0275] At step 1068 it is determined what keys are pressed by thesubscriber. If key 1 is pressed, then at step 1070 the override featureis activated with the entered dialed number. Control is then returned tothe main menu. If key 2 is selected control is returned to step 1040(FIG. 52). If the zero key is pressed, then at step 1072 it isdetermined whether the override feature is activated. If it is, then atstep 1074 the following announcement is played:

[0276] “Help Information. You can make your selection while this messageis playing. Pressing one indicates the entered telephone number iscorrect. Pressing two says the number is incorrect and you would like tore-enter it. Pressing star will cancel changing the override number andwill leave <Schedule Override DN> as the contact number. If you needadditional help, please contact your account representative.”

[0277] If it is not, then at step 1076 the following announcement isplayed:

[0278] “Help Information. You can make your selection while this messageis playing. Pressing one indicates the entered telephone number iscorrect. Pressing two says the number is incorrect and you would like tore-enter it. Pressing star will leave schedule override off. If you needadditional help, please contact your account representative.”

[0279] In either case control is returned to step 1068 to determine whatselection the subscriber has made. If the star key is selected, controlis returned to the main menu.

[0280] 5. Simultaneous Search Subroutine

[0281] FIGS. 54-57 are flow charts illustrating the simultaneous searchsubroutine. The program begins at step 2000. The search path is shown tothe left of the figure where at step 2002 the subscriber's profile isretrieved to obtain the numbers the subscriber has listed to besimultaneously contacted. To the right is indicated the path the callingparty is led through. At step 2004 it is determined whether the systemannouncement is specified as default. If it is, then at step 2006 thefollowing announcement is played: “Please hold while your party iscontacted.” If it is determined at step 2004 that the systemannouncement was not specified as default, then at step 2008 thefollowing announcement is made: “Please hold while your party iscontacted. If you would like to be connected to <default destination>,press pound at any time.” Then at step 2010 music is played while thenumbers listed in the simultaneous search are contacted.

[0282] In particular, with reference to FIG. 55 at step 2020 the numberslisted to be simultaneously dialed are dialed. At step 2022 it isdetermined whether the currently dialed number is busy or has not beenanswered. In either case the dialed number is marked unavailable at step2024 and the system stops calling that number. At step 2026 it isdetermined whether all of the numbers dialed in step 2020 are busy ornot answered. If they are, then at step 2028 the system enters a defaultsubroutine which will be described in detail hereinafter.

[0283] If not all of the dialed numbers were determined to be busy ornot answered control is returned to step 2022 and, for the dialed numberanswered, control is transferred to step 2030 where it is optionallydetermined whether a PIN is needed for the dialed number. If a PIN isnot needed for the dialed number, control is passed to step 2032 (FIG.57) where it is determined whether the calling party is still on theline. If the calling party is not on the line, then at step 2034, it isdetermined whether the calling party has chosen to go to a defaultlocation which will be described in detail hereinafter. If the callingparty has not, then at step 2036 the following announcement is played:“The caller has hung up. Please excuse the interruption. Good-bye.” Ifit is determined at step 2034 that the caller has chosen the defaultlocation then at step 2038 the following announcement is played: “Thecaller has chosen to go to your default destination. Please excuse theinterruption. Good-bye.” The call to the subscriber is then disconnectedat step 2040 and the subroutine program ends. If it is determined atstep 2032 that the calling party is still on the line, then at step 2042the caller is connected to the subscriber that has accepted the call.For those other numbers that were answered but the call not accepted thefollowing announcement is played at step 2044: “The call has beenaccepted on another line. Please excuse the interruption.” The searchthen ends at step 2046 and the call is disconnected.

[0284] Returning to FIG. 55 if it is determined at step 2030 that a PINis needed, control is passed to step 2058 (FIG. 56) where the followingannouncement is played: “There is a call for <subscriber's name>. If youare not <subscriber's name>, please hang up. (2 second pause) Pleaseenter your PIN.” At step 2060 it is determined what action has beentaken. If the called party has hung up, then control is passed to step2024 (FIG. 55) which has already been described. If no action has beentaken but the called party has not hung up, then control is passed tostep 2062 (FIG. 55) where the following announcement is placed: “That isnot a valid Personal Identification Number. If you need help, pleasecontact your account representative. Good-bye.” and the programcontinues as previously described. If it is determined at step 2060 thata valid PIN has been entered, then at step 2064 the search is terminatedand control is passed to step 2032 (FIG. 57) previously described. If itis determined that an invalid PIN has been entered, then at step 2066 itis determined whether it is the first time. If it is then at step 2068the following announcement is played: “That is not a valid entry. Pleasetry again.” and control is returned to step 2060 to determine whataction has been taken by the called party. If it is determined at step2066 that the incorrect PIN has been entered more than once then thecalled party is disconnected.

[0285] Returning to FIG. 54 if at step 2012 it is determined that thecall has been accepted by the called party, then control is transferredto step 2042 (FIG. 57) where the caller and subscriber are connected. Ifthe call has not been accepted by the called party, the defaultdestination subroutine is entered which will be described in detailhereinafter. If the calling party is disconnected, then the search isterminated at step 2016 and the program ends. If the calling party haspressed the pound key, then at step 2018 the search is terminated and atstep 2020 the default destination subroutine is entered.

[0286] 6. Sequential Search Subroutine

[0287] FIGS. 58-61 are flow charts illustrating the sequential searchsubroutine. The program begins at step 2100. The search path is shown tothe left of the figure where at step 2102 the subscriber's profile isretrieved to obtain the first number the subscriber has listed to becontacted. To the right is indicated the path the calling party is ledthrough. At step 2104 it is determined whether the system announcementis specified as default. If it is, then at step 2106 the followingannouncement is played: “Please hold while your party is contacted.” Ifit is determined at step 2104 that the system announcement was notspecified as default, then at step 2108 the following announcement ismade: “Please hold while your party is contacted. If you would like tobe connected to < default destination>, press pound at any time.” Thenat step 2110 music is played while the first number listed in the searchis contacted at steps 2102 and 2118.

[0288] At step 2112, it is determined what happens to the caller if thesubscriber accepts or rejects the caller or if the caller hangs up orpresses the pound key. If the call is accepted, control is transferredto step 2148 (FIG. 61) and the subscriber and caller are connected. Ifthe call is not accepted by the subscriber, then the call is directed tothe default destination which will be described hereinafter. If the callis disconnected, then at step 2114 the search is terminated. If thesubscriber presses the pound key, then at step 2116, the search isterminated and the call is forwarded to the default destination.

[0289] In particular, with reference to FIG. 59 at step 2118 the firstnumber listed to be dialed is dialed. At step 2120 it is determinedwhether the currently dialed number is busy or has not been answered. Ifthe call has been answered, then at step 2122 it is optionallydetermined whether a PIN is needed at the dialed number. If it is, thenat step 2130 (FIG. 60) the following announcement is played: “There is acall for <subscriber's name>. If you are not <subscriber's name>, pleasehang up. (2 second pause) Please enter your PIN number.” At step 2132 itis determined whether a valid or invalid PIN has been entered, if thecall has been disconnected or a time out has occurred. If a valid PINhas been entered, control is transferred to step 2138 (FIG. 61) to bedescribed hereinafter. If a time out has occurred, control istransferred to step 2124 (FIG. 59) where the following announcement isplayed: “This is not a valid Personal Identification Number. If you needhelp, please contact your account representative. Good-bye.” At step2126 the call is then disconnected. If at step 2132 (FIG. 60) an invalidPIN is entered, then at step 2134 it is determined whether it is thefirst time. If it is, then at step 2136 the following announcement isplayed: “That is not a valid entry. Please try again.” Control isreturned to step 2132. If it is not the first time, then control ispassed to step 2124 (FIG. 59) which was previously described.

[0290] At step 2138 (FIG. 61) it is determined whether the caller isstill connected. If the caller is not, then at step 2140 it isdetermined whether the call has been transferred to default. If yes,then at step 2142 the following announcement is played: “The caller haschosen to go to your default destination. Please excuse theinterruption. Good-bye.” If not, then at step 2144 the followingannouncement is played: “The caller has hung up. Please excuse theinterruption. Good-bye.” In either case, at step 2146 the call isdisconnected.

[0291] If the caller is still connected at step 2138 and the subscriberhas chosen to accept the call at step 2112 (FIG. 58) then at step 2148the caller and subscriber are connected.

[0292] Returning to FIG. 59, if at step 2120 it is determined that thecalled number is busy or there is no answer, then at step 2128 it isdetermined if the called number is the last number on the sequentiallist. If it is, the call is directed to the default destination. If not,then at step 2131 the next number on the sequential list is retrievedand control is returned to step 2118.

[0293] 7. Incoming Call Processing

[0294] From the calling party's perspective, when the calling partydials a subscriber's PAS number, the incoming call is coupled to theplatform 18 where the subscriber's profile associated with thesubscriber's PAS number is retrieved from database. FIGS. 62-63 areflowcharts for an incoming call routing flow program. At reference point3000 an incoming call is detected. At step 3002 it is determined if thecalling directory number equals the platform directory number. If itdoes, at step 3006 the call is rejected and an alarm is generated. Thisis to prevent the system from going into a continuous loop if someonehas placed their personal access service (PAS) phone number in theirprofile thereby tying up platform resources. The program is then ended.If it is determined at step 3002 that they are not equal, then at step3004 it is determined if the called directory number is available. If itis, then at step 3018 (FIG. 63), the subscriber's profile is retrieved.At step 3020 it is determined if the subscriber's profile retrieved instep 3018 is a valid profile, i.e., meaning it has not been disabled,for example. If it is not, then the following announcement is played atstep 3022:

[0295] “You have reached a non-working number. Please check the numberand dial again.”

[0296] Then at step 3024 the call is disconnected and an alarm isgenerated. The program is then ended. If it is determined at step 3020that the profile retrieved in step 3018 is valid, the service routingsubroutine program is then entered as will be discussed with referenceto FIGS. 64-66.

[0297] Referring back to FIG. 61, if it is determined at step 3004 thatthe called directory number is not available, then at step 3006 thefollowing announcement is played:

[0298] “Please enter the area code and telephone number of the personyou are trying to reach.”

[0299] At step 3008 it is determined what action has been taken by thecaller. If the dialed number is entered, then at step 3010 it isdetermined if the proper number of digits have been entered. If theyhave, control is returned to step 3018 (FIG. 63). If not, then at step3012 it is determined if this is a first error. If it is, then at step3014 the following announcement is played:

[0300] “No keypresses have been received.”

[0301] Control is then returned to step 3006 to allow the caller anotheropportunity to correctly enter the subscriber's telephone number. If itis determined at step 3012 that this was not the caller's first error,then at step 3016 the following message is played:

[0302] “That was not a valid entry. Please try again later. Good-bye,”and the caller is disconnected.

[0303] If at step 3008 it is determined that the caller has not made aselection before the system has timed out, then the same step 3012already described is carried out. If at step 3008 it is determined thatthe caller has become disconnected, then the program is terminated.

[0304] FIGS. 64-66 are flowcharts for the service routing subroutineprogram that is entered only if it is determined at step 3020 (FIG. 63)that the retrieved subscriber profile is a valid one. At step 3026 it isdetermined if the subscriber has recorded a greeting. If not, then atstep 3028 the following announcement is played:

[0305] “You have called the number for <subscriber's name>.”

[0306] If the subscriber has recorded a greeting, then at step 3030 thesubscriber's greeting is played back to the caller.

[0307] In either case, control is transferred to step 3040 (FIG. 65). Atstep 3040 it is determined if the subscriber is on the platform. If thesubscriber is on the platform in system administration, then at step3044 the call waiting flag is set and at step 3046 the followingannouncement is played: “Please hold while your party is contacted. Ifyou would like to be connected to <default destination>, press pound atany time.”

[0308] If it is determined at step 3040 that the subscriber is not onthe platform or at step 3042 that the subscriber is on the platform butis not in the administration menu, the incoming call will be directed toa telephone number indicated by the subscriber in the subscriber'sprofile as will be described with reference to FIG. 66.

[0309] If it is determined at step 3040 that the subscriber is not onthe platform or that the subscriber is not in the administrative menu atstep 3042, then at step 3052 (FIG. 66) it is determined whether thesequential search option has been selected. If so, control is passed tothe sequential search subroutine described with reference to FIG. 58-61.If not, control is passed to the simultaneous search subroutinedescribed with reference to FIGS. 54-57. The default destinationsubroutine is shown in the flow chart of FIG. 67. The subroutine beginsat 3054. At step 3056 it is determined if the default location is atelephone number. If it is, then at step 3058 the following announcementis played: “Your call is being forwarded now. Please hold.” Then at step3060 the default telephone number is dialed and connected to the callingparty. If it is determined at step 3056 that the default is not atelephone number, then at step 3062 it is determined if the defaultlocation is an announcement. If it is, then at step 3064 the followingannouncement is played: “Your party is not available now. Please tryagain later. (1 second pause) Good-bye.” And the calling party isdisconnected. If the default destination is not an announcement, then atstep 3066 it is determined if the default destination is voice mail. Ifit is, the following announcement is played: “Your call is beingforwarded to your party's voice mail. Please continue to hold” and theincoming call is transferred to voice mail. Otherwise the incoming callcan be forwarded to some other destination such as a pager, for example.

[0310] It is to be understood that the forms of the invention describedherewith are to be taken as preferred examples and that various changesin the shape, size and arrangement of parts may be resorted to, withoutdeparting from the spirit of the invention or scope of the claims.

What is claimed is:
 1. A method of routing incoming telephone calls, themethod comprising the steps of: (a) coupling an incoming call directedto a subscriber to a platform; (b) determining if a sequential searchfeature is active; (c) in response to step (b), if the sequential searchfeature is active, directing the incoming call to a first number on thesubscriber's sequential list stored on the platform and, if there is noanswer at the first number directing the incoming call to a secondnumber of the subscriber's sequential list; (d) in response to step (b),if it is determined that the sequential search feature is not active,determining if a simultaneous search feature is active; (e) in responseto step (d), if it is determined that the simultaneous search feature isactive, directing the incoming call to all numbers on the subscriber'ssimultaneous list stored on the platform; (f) determining if aprogrammed schedule feature is active; and (g) in response to step (f),if the programmed schedule feature is active, directing an incoming callaccording to the programmed schedule.
 2. A method according to claim 1further comprising the steps of (h) in response to step (c) determiningwhether the subscriber wants to answer the incoming call.
 3. A methodaccording to claim 2 further comprising the step of in response to step(h) if it is determined that the subscriber wants to answer the incomingcall, coupling the incoming call to the subscriber.
 4. A methodaccording to claim 2 further comprising the step (i) of in response tostep (h) if it is determined that the subscriber does not want to answerthe incoming call, forwarding the incoming call to a default destinationassociated with the subscriber.
 5. A method according to claim 1comprising the steps of: (a) determining if the subscriber has selectedone number to which all incoming calls should be directed; and (b) inresponse to step (h), if the subscriber has selected one number,directing all incoming calls to that number.
 6. A method according toclaim 1 wherein three numbers may be sequentially tried in step (c). 7.A method for routing incoming telephone calls, the method comprising thesteps of: (a) coupling a call directed to a first telephone station to aservice node, said call being initiated by a caller at a secondtelephone station; (b) retrieving a subscriber's profile associated withthe first telephone station at the service node in response to step (a)wherein the subscriber's profile indicates which routing options havebeen selected by the subscriber; (c) routing the call of step (a) inaccordance with the subscriber's profile by: (i) determining if asequential search feature is active; (ii) in response to step (i), ifthe sequential search feature is active, directing the incoming call toa first number on the subscriber's sequential list, and if there is noanswer at the first number, directing the incoming call to a secondnumber on the subscriber's sequential list; (iii) in response to step(i), if it is determined that the sequential search feature is notactive, determining if a simultaneous search feature is active; (iv) inresponse to step (iii), if it is determined that the simultaneous searchfeature is active, directing the incoming call to all numbers on thesubscriber's simultaneous list; (v) determining if a programmed schedulefeature is active; and (vi) in response to step (v), if the programmedschedule feature is active, directing an incoming call according to theprogrammed schedule.
 8. A method according to claim 7 further comprisingthe steps of allowing the called party after either step (ii) or (iv) anoption of selecting from the group consisting of answering the call orforwarding the call to a default destination.
 9. A method according toclaim 8 wherein the default destination is voice mail.
 10. A methodaccording to claim 7 further comprising the steps of: (a) determining ifthe subscriber has selected one number to which all incoming callsshould be directed; and (b) in response to step (h), if the subscriberhas selected one number, directing all incoming calls to that number.11. A method according to claim 7 wherein three numbers may besequentially tried in step (ii).
 12. A method of programming callrouting options, the method comprising the steps of (a) coupling anincoming call from a subscriber to a service node; (b) generating aseries of queries to the subscriber in response to the incoming call ofstep (a) wherein the series of queries includes: (i) whether asequential search list should be created and, if so, what telephonenumbers should be included on the sequential search list; (ii) whether asimultaneous search list should be created and, if so, what telephonenumbers should be included on the simultaneous search list; (iii)whether a programmed schedule list should be created and, if so, whattelephone numbers should incoming calls be directed based upon the dayof the week and time the incoming call is received; and (c) generating asubscriber profile in response to the subscriber's responses to theseries of queries generated in step (b).
 13. A method according to claim12 further comprising the storing of the subscriber profile generated instep (c) in a memory.
 14. A call routing apparatus for routing incomingtelephone calls, the apparatus comprising: a memory for storing aprofile for each subscriber wherein each profile indicates the routingoptions selected by the subscriber associated with the profile; aplatform for receiving an incoming telephone call from a calling party;a processor located on the platform programmed to route incomingtelephone calls according to the following steps: (a) determining if asequential search feature is active; (b) in response to step (a), if thesequential search feature is active, directing an incoming call to afirst number on the subscriber's sequential list and, if there is noanswer at the first number, directing the incoming call to a secondnumber on the subscriber's sequential list; (c) in response to step (a),if it is determined that the sequential search feature is not active,determining if a simultaneous search feature is active; (d) in responseto step (c), if it is determined that the simultaneous search feature isactive, directing the incoming call to all numbers on the subscriber'ssimultaneous list; (e) determining if the subscriber has selected aprogrammed schedule feature; and (f) in response to step (e), if theprogrammed schedule feature is active, directing an incoming callaccording to the programmed schedule.
 15. An apparatus for programmingcall routing options, the apparatus comprising: a platform for receivingan incoming call from a subscriber a processor located on the platformprogrammed to generate the following queries: (i) whether a sequentialsearch list should be created and, if so, what telephone numbers shouldbe included on the sequential search list; (ii) whether a simultaneoussearch list should be created, and if so, what telephone numbers shouldbe included on the simultaneous search list; (iii) whether a programmedschedule list should be created and, if so, what telephone numbersshould incoming calls be directed based upon the day of the week andtime the incoming call is received; and generating a subscriber profilein response to the subscriber's responses to the series of queriesgenerated in steps (i-iii); a database storing a subscriber profilegenerated in response to the subscriber's responses to the set ofinquiries.
 16. A method of routing incoming telephone calls, the methodcomprising the steps of: (a) coupling an incoming call to a subscriberto a platform; (b) determining if an override number feature is activeand, if so, directing the incoming call to the override number; (c) inresponse to step (b), if the override number feature is not active,determining a time period of when the incoming call was received by theplatform; (d) determining whether one number programming, sequentialprogramming or simultaneous programming are active; and (e) in responseto step (d), directing the incoming call according to the programmingthat is active.
 17. A call routing apparatus for routing incomingtelephone calls, the apparatus comprising: a memory for storing aprofile for each subscriber wherein each profile indicates the routingoptions selected by the subscriber associated with the profile; aplatform for receiving an incoming telephone call from a calling party;a processor located on the platform programmed to route incomingtelephone calls according to the following steps: (a) determining if aschedule override feature is active; (b) retrieving schedule for currenttime; (c) determining whether one number forwarding feature is active;(d) determining if a sequential search feature is active; (e) If theresponse to steps (a), (c) and (d) is negative, activating; (f) routingthe incoming call according to what feature is active; (g) if theincoming call is answered, determining whether the subscriber wants toaccept the call; and (h) in response to step (f), disposing of theincoming call accordingly.